home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Games / MAME / src / sound / 2151intf.h < prev    next >
C/C++ Source or Header  |  2000-05-23  |  1KB  |  38 lines

  1. #ifndef YM2151INTF_H
  2. #define YM2151INTF_H
  3.  
  4. #define MAX_2151 3
  5.  
  6. #ifndef VOL_YM3012
  7. /* YM2151interface->volume optionaly macro */
  8. /* #define YM3014_VOL(Vol,Pan) VOL_YM3012((Vol)/2,Pan,(Vol)/2,Pan) */
  9. #define YM3012_VOL(LVol,LPan,RVol,RPan) (MIXER(LVol,LPan)|(MIXER(RVol,RPan) << 16))
  10. #endif
  11.  
  12. struct YM2151interface
  13. {
  14.     int num;
  15.     int baseclock;
  16.     int volume[MAX_2151]; /* need for use YM3012()_VOL macro */
  17.     void (*irqhandler[MAX_2151])(int irq);
  18.     mem_write_handler portwritehandler[MAX_2151];
  19. };
  20.  
  21. READ_HANDLER( YM2151_status_port_0_r );
  22. READ_HANDLER( YM2151_status_port_1_r );
  23. READ_HANDLER( YM2151_status_port_2_r );
  24.  
  25. WRITE_HANDLER( YM2151_register_port_0_w );
  26. WRITE_HANDLER( YM2151_register_port_1_w );
  27. WRITE_HANDLER( YM2151_register_port_2_w );
  28.  
  29. WRITE_HANDLER( YM2151_data_port_0_w );
  30. WRITE_HANDLER( YM2151_data_port_1_w );
  31. WRITE_HANDLER( YM2151_data_port_2_w );
  32. int YM2151_sh_start(const struct MachineSound *msound);
  33. void YM2151_sh_stop(void);
  34. void YM2151_sh_reset(void);
  35.  
  36. void YM2151UpdateRequest(int chip);
  37. #endif
  38.